home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Archive / Graphics / QuickDraw GX / GX->PostScript Sample / Interfaces&Libraries / Interfaces / CIncludes / GXGraphicsPriv.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-28  |  19.4 KB  |  382 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        GXGraphicsPriv.h
  3.  
  4.      Contains:    QuickDraw GX to PostScript conversion code.
  5.  
  6.      Version:    Technology:    Quickdraw GX 1.1.x
  7.       
  8.      Copyright:    © 1994-1997 by Apple Computer, Inc., all rights reserved.
  9. */
  10.  
  11. #ifndef __GXGRAPHICSPRIV__
  12. #define __GXGRAPHICSPRIV__
  13.  
  14. #ifndef __MIXEDMODE__
  15. #include <MixedMode.h>
  16. #endif
  17. #ifndef __TYPES__
  18. #include <Types.h>
  19. #endif
  20. #ifndef __OSUTILS__
  21. #include <OSUtils.h>
  22. #endif
  23. #ifndef __QUICKDRAW__
  24. #include <Quickdraw.h>
  25. #endif
  26. #ifndef __GXMATH__
  27. #include <GXMath.h>
  28. #endif
  29. #ifndef __GXTYPES__
  30. #include <GXTypes.h>
  31. #endif
  32. #ifndef __GXENVIRONMENT__
  33. #include <GXEnvironment.h>
  34. #endif
  35.  
  36.  
  37.  
  38. #if PRAGMA_ONCE
  39. #pragma once
  40. #endif
  41.  
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45.  
  46. #if PRAGMA_IMPORT
  47. #pragma import on
  48. #endif
  49.  
  50. #if PRAGMA_STRUCT_ALIGN
  51.     #pragma options align=mac68k
  52. #elif PRAGMA_STRUCT_PACKPUSH
  53.     #pragma pack(push, 2)
  54. #elif PRAGMA_STRUCT_PACK
  55.     #pragma pack(2)
  56. #endif
  57.  
  58. #if defined(__MWERKS__) && TARGET_CPU_68K
  59.     #pragma push
  60.     #pragma pointers_in_D0
  61. #endif
  62.  
  63. #if TARGET_CPU_68K && defined(GXBUILD)
  64.     #undef  THREEWORDINLINE
  65.     #define THREEWORDINLINE(w1,w2,w3)
  66. #endif
  67.  
  68.  
  69.  
  70. typedef struct graphicsBugParameters graphicsBugParameters;
  71. //EXTERN_API_C( Boolean )
  72. GXGetGraphicsBugParametersPointer (graphicsBugParameters ** blockPointer)                    THREEWORDINLINE(0x303C, 0x01FE, 0xA832);
  73.  
  74. typedef struct graphicsThreadRecord *gxGraphicsThread;
  75. /* This tag type is used by printing to convert gx polygons to QD 6 sided polygons */
  76.  
  77. enum {
  78.     polw                        = 'polw'    //FOUR_CHAR_CODE('polw')
  79. };
  80.  
  81. /* This structure gives printing the information needed to do the conversion */
  82. struct QDPolygonConversion {
  83.     gxPoint                         penSize;
  84.     Boolean                         sixSided;
  85.     SInt8                             pad;                        /* pad out structure to even-byte length */
  86. };
  87. typedef struct QDPolygonConversion QDPolygonConversion;
  88.  
  89. typedef QDPolygonConversion *            QDPolygonConversionPtr;
  90. /* This tag type is used by printing to determine that there is a transfer mode */
  91.  
  92. enum {
  93.     ormd                        = 'ormd'        //FOUR_CHAR_CODE('ormd')
  94. };
  95.  
  96. /*
  97.  *    The postscript name for the font+textFace in a style, set by the translator.
  98.  *    The data is the ascii name, the length of the name is the size of the tag.
  99. */
  100.  
  101. enum {
  102.     gxPostscriptFontNameSynonymTag = 'psfn'        //FOUR_CHAR_CODE('psfn')
  103. };
  104.  
  105. #ifndef    GXTOPOSTSCRIPTLIBRARY
  106.     /* printing's call to choose fonts during unflattening */
  107.     typedef CALLBACK_API_C( gxFont , gxUserFindFontsProcPtr )(void *refcon, gxFont fontID, gxFontName name, gxFontPlatform platform, gxFontScript script, gxFontLanguage language, long length, const unsigned char text[]);
  108.     typedef STACK_UPP_TYPE(gxUserFindFontsProcPtr)                     gxUserFindFontsUPP;
  109.     enum { uppgxUserFindFontsProcInfo = 0x003FFFF1 };                 /* 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  110.     #define NewgxUserFindFontsProc(userRoutine)                     (gxUserFindFontsUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppgxUserFindFontsProcInfo, GetCurrentArchitecture())
  111.     #define CallgxUserFindFontsProc(userRoutine, refcon, fontID, name, platform, script, language, length, text)  CALL_EIGHT_PARAMETER_UPP((userRoutine), uppgxUserFindFontsProcInfo, (refcon), (fontID), (name), (platform), (script), (language), (length), (text))
  112.  
  113.     /* flattens the passed shape and returns the total number of bytes needed at a minimum */
  114.     /* Also places a more desirable number of bytes in preferredSize (if non-nil) */
  115.     EXTERN_API_C( long )
  116.     FlattenShapeWithStatistics        (gxShape                 source,
  117.                                      long                     flags,
  118.                                      gxSpoolBlock *            block,
  119.                                      long *                    preferredSize)                        THREEWORDINLINE(0x303C, 0x0264, 0xA832);
  120.  
  121.     EXTERN_API_C( Boolean )
  122.     ShrinkOneGraphicsHeap            (gxGraphicsClient         client)                                THREEWORDINLINE(0x303C, 0x022E, 0xA832);
  123.  
  124.     /* grow’s the passed client’s graphics heap to the maximum possible size */
  125.     EXTERN_API_C( Boolean )
  126.     ZoomGraphicsHeap                (gxGraphicsClient         client)                                THREEWORDINLINE(0x303C, 0x0263, 0xA832);
  127.  
  128.     /* takes a function pointer to map names to fonts during unflattening */
  129.     EXTERN_API_C( gxShape )
  130.     GXUnflattenShapeWithFindFonts    (gxSpoolBlock *            block,
  131.                                      long                     count,
  132.                                      const gxViewPort         portList[],
  133.                                      gxUserFindFontsUPP     FindFonts,
  134.                                      void *                    findFontsRefcon)                    THREEWORDINLINE(0x303C, 0x0270, 0xA832);
  135.  
  136.     /* this guy calls through the function pointer returned by GXGetConvertQDFont */
  137.     EXTERN_API_C( long )
  138.     GXConvertQDFontWithPatches        (gxStyle                 theStyle,
  139.                                      long                     txFont,
  140.                                      long                     txFace)                                THREEWORDINLINE(0x303C, 0x0272, 0xA832);
  141.  
  142.     EXTERN_API_C( gxGraphicsThread )
  143.     GXNewGraphicsThread                (long                     threadID)                            THREEWORDINLINE(0x303C, 0x022F, 0xA832);
  144.  
  145.     EXTERN_API_C( void )
  146.     GXDisposeGraphicsThread            (gxGraphicsThread         thread)                                THREEWORDINLINE(0x303C, 0x0230, 0xA832);
  147.  
  148.     EXTERN_API_C( gxGraphicsThread )
  149.     GXGetGraphicsThread                (void)                                                        THREEWORDINLINE(0x303C, 0x0231, 0xA832);
  150.  
  151.     EXTERN_API_C( void )
  152.     GXSetGraphicsThread                (gxGraphicsThread         thread)                                THREEWORDINLINE(0x303C, 0x0232, 0xA832);
  153.  
  154.     /* For gathering timing and polling statics for a job */
  155.     EXTERN_API_C( void )
  156.     GXSetPrintingDocument            (char *                    jobName,
  157.                                      long                     isPrinting)                            THREEWORDINLINE(0x303C, 0x0233, 0xA832);
  158.  
  159. #endif
  160.  
  161. /* For PostScript Imaging Engine to generate underline shapes */
  162. EXTERN_API_C( gxShape )
  163. GXGetGlyphUnderlines            (gxShape                 source)                                THREEWORDINLINE(0x303C, 0x0234, 0xA832);
  164.  
  165. EXTERN_API_C( void )
  166. GXEasterEgg                        (long                     flags)                                THREEWORDINLINE(0x303C, 0x0235, 0xA832);
  167.  
  168. /* PostScript imaging system utility calls */
  169. EXTERN_API_C( gxShapeType )
  170. GetTransformClipType            (gxTransform             source)                                THREEWORDINLINE(0x303C, 0x0267, 0xA832);
  171.  
  172. EXTERN_API_C( Boolean )
  173. DoesStyleHavePattern            (gxStyle                 source)                                THREEWORDINLINE(0x303C, 0x0268, 0xA832);
  174.  
  175. EXTERN_API_C( Boolean )
  176. DoesStyleHaveDash                (gxStyle                 source)                                THREEWORDINLINE(0x303C, 0x0269, 0xA832);
  177.  
  178. /* we no longer document and export this call, since we don’t tell people what a gxHeap is */
  179. EXTERN_API_C( void *)
  180. GXGetGraphicsClientHeap            (gxGraphicsClient         client)                                THREEWORDINLINE(0x303C, 0x005D, 0xA832);
  181.  
  182. /* this function is used by Spooling in printing to avoid having to use a shared client for printing */
  183. EXTERN_API_C( gxGraphicsClient )
  184. NewLargestGraphicsClient        (void)                                                        THREEWORDINLINE(0x303C, 0x026A, 0xA832);
  185.  
  186. /* this function is used by Print Viewer API in Printing to avoid having to make an extra copy of the page shape */
  187. EXTERN_API_C( void )
  188. ExchangeShapeMasterPointers        (gxShape                 one,
  189.                                  gxShape                 two)                                THREEWORDINLINE(0x303C, 0x0271, 0xA832);
  190.  
  191. /* This function and the typedef are used by printing to get at the Translator ProcSet and to activate it */
  192. #define gxUseTranslatorProcSet    0x8000
  193. #define gxIgnorePrintActionHook    0x4000
  194. EXTERN_API_C( long )
  195. GXGetTranslatorProcSet            (char *                    mysteryParameter)                    THREEWORDINLINE(0x303C, 0x026B, 0xA832);
  196.  
  197. /* This is to pass the QD face information to the PS imaging engine. */
  198.  
  199. enum {
  200.     textFaceTagType                = FOUR_CHAR_CODE('tfac')
  201. };
  202.  
  203. /* The type of the data for first textFaceTagType is Style as found in <Quickdraw.h> */
  204. /* The type of the data for the second textFaceTagType is Fixed, with the point size of the text. */
  205. /* This tag defines the target of a given item (for example, text face), contains
  206.     one of: gxRasterTargetTranslation, 
  207.             gxPostScriptTargetTranslation, 
  208.             gxVectorTargetTranslation, 
  209.             gxPDDTargetTranslation */
  210.  
  211. enum {
  212.     targetTagType                = FOUR_CHAR_CODE('targ')
  213. };
  214.  
  215. /*
  216.  *    This guy returns a 1-point bounding box for the font, that encloses all of the glyphs.
  217.  *    Unless the bounds are set to 0, in which case the font didn't know its bounds.
  218. */
  219. EXTERN_API_C( gxRectangle *)
  220. GXPrivateGetFontBounds            (gxFont                 fontID,
  221.                                  long                     count,
  222.                                  const gxFontVariation     variation[],
  223.                                  gxRectangle *            bounds)                                THREEWORDINLINE(0x303C, 0x0275, 0xA832);
  224.  
  225. EXTERN_API_C( Boolean )
  226. GXisScalerStreamingReentrant    (gxFontFormatTag         format)                                THREEWORDINLINE(0x303C, 0x0278, 0xA832);
  227.  
  228. /* really a QuickDraw style byte */
  229. typedef long                             longCommonFace;
  230. EXTERN_API_C( void )
  231. TRSetStyleCommonFace            (gxStyle                 source,
  232.                                  longCommonFace         face,
  233.                                  Fixed                     textSize,
  234.                                  Fixed                     hScale,
  235.                                  long                     postScriptTargetBoolean,
  236.                                  gxLayerFlag             flags)                                THREEWORDINLINE(0x303C, 0x0281, 0xA832);
  237.  
  238. #ifndef GXTOPOSTSCRIPTLIBRARY
  239.     /* messages passed to GXUpdateGrafPort */
  240.  
  241.     enum {
  242.         updateMessage                = 0,
  243.         closeMessage                = 1
  244.     };
  245.  
  246.     EXTERN_API_C( void )
  247.     GXUpdateGrafPort                (long                     message,
  248.                                      GrafPtr                 qdPortPtr)                            THREEWORDINLINE(0x303C, 0x0284, 0xA832);
  249.  
  250.     /* MorphPositionTextGX is called by ScriptLayout */
  251.     EXTERN_API_C( gxShape )
  252.     MorphPositionTextGX                (gxShape                 layout)                                THREEWORDINLINE(0x303C, 0x0285, 0xA832);
  253.  
  254.     typedef CALLBACK_API_C( Boolean , gxUserDebugFunction )(const char *str, long message, long reference);
  255.     EXTERN_API_C( gxUserDebugFunction )
  256.     GXGetUserGraphicsDebug            (long *                    reference)                            THREEWORDINLINE(0x303C, 0x01FF, 0xA832);
  257.  
  258.     EXTERN_API_C( void )
  259.     GXSetUserGraphicsDebug            (gxUserDebugFunction     userFunction,
  260.                                      long                     reference)                            THREEWORDINLINE(0x303C, 0x0200, 0xA832);
  261.  
  262.     /******************* Taken from 'translator types.h' originally ************************/
  263.     /* defined in QDTypes.h */
  264.     typedef struct CommonObject CommonObject;
  265.     typedef CALLBACK_API( void , CommonTypeProcPtr )(void *something, CommonObject *theObject);
  266.     typedef CALLBACK_API( void , TextTypeProcPtr )(void *something, short byteCount, Ptr textBuf, Point numer, Point denom);
  267.     typedef CALLBACK_API( void , LineTypeProcPtr )(void *something, Point newPt);
  268.     typedef CALLBACK_API( void , RectTypeProcPtr )(void *something, GrafVerb verb, const Rect *r);
  269.     typedef CALLBACK_API( void , RRectTypeProcPtr )(void *something, GrafVerb verb, const Rect *r, short ovalWidth, short ovalHeight);
  270.     typedef CALLBACK_API( void , OvalTypeProcPtr )(void *something, GrafVerb verb, const Rect *r);
  271.     typedef CALLBACK_API( void , ArcTypeProcPtr )(void *something, GrafVerb verb, const Rect *r, short startAngle, short arcAngle);
  272.     typedef CALLBACK_API( void , PolyTypeProcPtr )(void *something, GrafVerb verb, PolyHandle poly);
  273.     typedef CALLBACK_API( void , RgnTypeProcPtr )(void *something, GrafVerb verb, RgnHandle rgn);
  274.     typedef CALLBACK_API( void , BitsTypeProcPtr )(void *something, const BitMap *srcBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn);
  275.     typedef CALLBACK_API( void , CommentTypeProcPtr )(void *something, short kind, short dataSize, Handle dataHandle);
  276.     typedef CALLBACK_API( void , PixTypeProcPtr )(void *something, PixMapPtr src, const Rect *srcRect, Ptr matrix, short mode, RgnHandle mask, PixMapPtr matte, const Rect *matteRect, short flags);
  277.     typedef CALLBACK_API( short , TxMeasTypeProcPtr )(short byteCount, Ptr textAddr, Point *numer, Point *denom, FontInfo *info);
  278.     typedef CALLBACK_API( void , GetPicTypeProcPtr )(Ptr dataPtr, short byteCount);
  279.     typedef CALLBACK_API( void , PutPicTypeProcPtr )(Ptr dataPtr, short byteCount);
  280.     typedef CALLBACK_API( void , DrawPictureTypeProcPtr )(PicHandle thePicture, const Rect *dstRect);
  281.     typedef STACK_UPP_TYPE(CommonTypeProcPtr)                         CommonTypeUPP;
  282.     typedef STACK_UPP_TYPE(TextTypeProcPtr)                         TextTypeUPP;
  283.     typedef STACK_UPP_TYPE(LineTypeProcPtr)                         LineTypeUPP;
  284.     typedef STACK_UPP_TYPE(RectTypeProcPtr)                         RectTypeUPP;
  285.     typedef STACK_UPP_TYPE(RRectTypeProcPtr)                         RRectTypeUPP;
  286.     typedef STACK_UPP_TYPE(OvalTypeProcPtr)                         OvalTypeUPP;
  287.     typedef STACK_UPP_TYPE(ArcTypeProcPtr)                             ArcTypeUPP;
  288.     typedef STACK_UPP_TYPE(PolyTypeProcPtr)                         PolyTypeUPP;
  289.     typedef STACK_UPP_TYPE(RgnTypeProcPtr)                             RgnTypeUPP;
  290.     typedef STACK_UPP_TYPE(BitsTypeProcPtr)                         BitsTypeUPP;
  291.     typedef STACK_UPP_TYPE(CommentTypeProcPtr)                         CommentTypeUPP;
  292.     typedef STACK_UPP_TYPE(PixTypeProcPtr)                             PixTypeUPP;
  293.     typedef STACK_UPP_TYPE(TxMeasTypeProcPtr)                         TxMeasTypeUPP;
  294.     typedef STACK_UPP_TYPE(GetPicTypeProcPtr)                         GetPicTypeUPP;
  295.     typedef STACK_UPP_TYPE(PutPicTypeProcPtr)                         PutPicTypeUPP;
  296.     typedef STACK_UPP_TYPE(DrawPictureTypeProcPtr)                     DrawPictureTypeUPP;
  297.     enum { uppCommonTypeProcInfo = 0x000003C0 };                     /* pascal no_return_value Func(4_bytes, 4_bytes) */
  298.     enum { uppTextTypeProcInfo = 0x0000FEC0 };                         /* pascal no_return_value Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  299.     enum { uppLineTypeProcInfo = 0x000003C0 };                         /* pascal no_return_value Func(4_bytes, 4_bytes) */
  300.     enum { uppRectTypeProcInfo = 0x00000DC0 };                         /* pascal no_return_value Func(4_bytes, 1_byte, 4_bytes) */
  301.     enum { uppRRectTypeProcInfo = 0x0000ADC0 };                     /* pascal no_return_value Func(4_bytes, 1_byte, 4_bytes, 2_bytes, 2_bytes) */
  302.     enum { uppOvalTypeProcInfo = 0x00000DC0 };                         /* pascal no_return_value Func(4_bytes, 1_byte, 4_bytes) */
  303.     enum { uppArcTypeProcInfo = 0x0000ADC0 };                         /* pascal no_return_value Func(4_bytes, 1_byte, 4_bytes, 2_bytes, 2_bytes) */
  304.     enum { uppPolyTypeProcInfo = 0x00000DC0 };                         /* pascal no_return_value Func(4_bytes, 1_byte, 4_bytes) */
  305.     enum { uppRgnTypeProcInfo = 0x00000DC0 };                         /* pascal no_return_value Func(4_bytes, 1_byte, 4_bytes) */
  306.     enum { uppBitsTypeProcInfo = 0x0003BFC0 };                         /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
  307.     enum { uppCommentTypeProcInfo = 0x00003AC0 };                     /* pascal no_return_value Func(4_bytes, 2_bytes, 2_bytes, 4_bytes) */
  308.     enum { uppPixTypeProcInfo = 0x00BFBFC0 };                         /* pascal no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes) */
  309.     enum { uppTxMeasTypeProcInfo = 0x0000FFA0 };                     /* pascal 2_bytes Func(2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  310.     enum { uppGetPicTypeProcInfo = 0x000002C0 };                     /* pascal no_return_value Func(4_bytes, 2_bytes) */
  311.     enum { uppPutPicTypeProcInfo = 0x000002C0 };                     /* pascal no_return_value Func(4_bytes, 2_bytes) */
  312.     enum { uppDrawPictureTypeProcInfo = 0x000003C0 };                 /* pascal no_return_value Func(4_bytes, 4_bytes) */
  313.     #define NewCommonTypeProc(userRoutine)                             (CommonTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCommonTypeProcInfo, GetCurrentArchitecture())
  314.     #define NewTextTypeProc(userRoutine)                             (TextTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTextTypeProcInfo, GetCurrentArchitecture())
  315.     #define NewLineTypeProc(userRoutine)                             (LineTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppLineTypeProcInfo, GetCurrentArchitecture())
  316.     #define NewRectTypeProc(userRoutine)                             (RectTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRectTypeProcInfo, GetCurrentArchitecture())
  317.     #define NewRRectTypeProc(userRoutine)                             (RRectTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRRectTypeProcInfo, GetCurrentArchitecture())
  318.     #define NewOvalTypeProc(userRoutine)                             (OvalTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppOvalTypeProcInfo, GetCurrentArchitecture())
  319.     #define NewArcTypeProc(userRoutine)                             (ArcTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppArcTypeProcInfo, GetCurrentArchitecture())
  320.     #define NewPolyTypeProc(userRoutine)                             (PolyTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPolyTypeProcInfo, GetCurrentArchitecture())
  321.     #define NewRgnTypeProc(userRoutine)                             (RgnTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppRgnTypeProcInfo, GetCurrentArchitecture())
  322.     #define NewBitsTypeProc(userRoutine)                             (BitsTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppBitsTypeProcInfo, GetCurrentArchitecture())
  323.     #define NewCommentTypeProc(userRoutine)                         (CommentTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppCommentTypeProcInfo, GetCurrentArchitecture())
  324.     #define NewPixTypeProc(userRoutine)                             (PixTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPixTypeProcInfo, GetCurrentArchitecture())
  325.     #define NewTxMeasTypeProc(userRoutine)                             (TxMeasTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTxMeasTypeProcInfo, GetCurrentArchitecture())
  326.     #define NewGetPicTypeProc(userRoutine)                             (GetPicTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGetPicTypeProcInfo, GetCurrentArchitecture())
  327.     #define NewPutPicTypeProc(userRoutine)                             (PutPicTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPutPicTypeProcInfo, GetCurrentArchitecture())
  328.     #define NewDrawPictureTypeProc(userRoutine)                     (DrawPictureTypeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDrawPictureTypeProcInfo, GetCurrentArchitecture())
  329.     #define CallCommonTypeProc(userRoutine, something, theObject)     CALL_TWO_PARAMETER_UPP((userRoutine), uppCommonTypeProcInfo, (something), (theObject))
  330.     #define CallTextTypeProc(userRoutine, something, byteCount, textBuf, numer, denom)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppTextTypeProcInfo, (something), (byteCount), (textBuf), (numer), (denom))
  331.     #define CallLineTypeProc(userRoutine, something, newPt)         CALL_TWO_PARAMETER_UPP((userRoutine), uppLineTypeProcInfo, (something), (newPt))
  332.     #define CallRectTypeProc(userRoutine, something, verb, r)         CALL_THREE_PARAMETER_UPP((userRoutine), uppRectTypeProcInfo, (something), (verb), (r))
  333.     #define CallRRectTypeProc(userRoutine, something, verb, r, ovalWidth, ovalHeight)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppRRectTypeProcInfo, (something), (verb), (r), (ovalWidth), (ovalHeight))
  334.     #define CallOvalTypeProc(userRoutine, something, verb, r)         CALL_THREE_PARAMETER_UPP((userRoutine), uppOvalTypeProcInfo, (something), (verb), (r))
  335.     #define CallArcTypeProc(userRoutine, something, verb, r, startAngle, arcAngle)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppArcTypeProcInfo, (something), (verb), (r), (startAngle), (arcAngle))
  336.     #define CallPolyTypeProc(userRoutine, something, verb, poly)     CALL_THREE_PARAMETER_UPP((userRoutine), uppPolyTypeProcInfo, (something), (verb), (poly))
  337.     #define CallRgnTypeProc(userRoutine, something, verb, rgn)         CALL_THREE_PARAMETER_UPP((userRoutine), uppRgnTypeProcInfo, (something), (verb), (rgn))
  338.     #define CallBitsTypeProc(userRoutine, something, srcBits, srcRect, dstRect, mode, maskRgn)  CALL_SIX_PARAMETER_UPP((userRoutine), uppBitsTypeProcInfo, (something), (srcBits), (srcRect), (dstRect), (mode), (maskRgn))
  339.     #define CallCommentTypeProc(userRoutine, something, kind, dataSize, dataHandle)  CALL_FOUR_PARAMETER_UPP((userRoutine), uppCommentTypeProcInfo, (something), (kind), (dataSize), (dataHandle))
  340.     #define CallPixTypeProc(userRoutine, something, src, srcRect, matrix, mode, mask, matte, matteRect, flags)  CALL_NINE_PARAMETER_UPP((userRoutine), uppPixTypeProcInfo, (something), (src), (srcRect), (matrix), (mode), (mask), (matte), (matteRect), (flags))
  341.     #define CallTxMeasTypeProc(userRoutine, byteCount, textAddr, numer, denom, info)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppTxMeasTypeProcInfo, (byteCount), (textAddr), (numer), (denom), (info))
  342.     #define CallGetPicTypeProc(userRoutine, dataPtr, byteCount)     CALL_TWO_PARAMETER_UPP((userRoutine), uppGetPicTypeProcInfo, (dataPtr), (byteCount))
  343.     #define CallPutPicTypeProc(userRoutine, dataPtr, byteCount)     CALL_TWO_PARAMETER_UPP((userRoutine), uppPutPicTypeProcInfo, (dataPtr), (byteCount))
  344.     #define CallDrawPictureTypeProc(userRoutine, thePicture, dstRect)  CALL_TWO_PARAMETER_UPP((userRoutine), uppDrawPictureTypeProcInfo, (thePicture), (dstRect))
  345.  
  346. #endif
  347.  
  348.  
  349. #if TARGET_CPU_68K && defined(GXBUILD)
  350.     #if TARGET_OS_MAC && !TARGET_RT_MAC_CFM
  351.         #undef THREEWORDINLINE
  352.         #define THREEWORDINLINE(w1,w2,w3)  = {w1,w2,w3}
  353.     #endif
  354. #endif
  355.  
  356. #if defined(__MWERKS__) && TARGET_CPU_68K
  357.     #pragma pop
  358. #endif
  359.  
  360.  
  361.  
  362. #if PRAGMA_STRUCT_ALIGN
  363.     #pragma options align=reset
  364. #elif PRAGMA_STRUCT_PACKPUSH
  365.     #pragma pack(pop)
  366. #elif PRAGMA_STRUCT_PACK
  367.     #pragma pack()
  368. #endif
  369.  
  370. #ifdef PRAGMA_IMPORT_OFF
  371. #pragma import off
  372. #elif PRAGMA_IMPORT
  373. #pragma import reset
  374. #endif
  375.  
  376. #ifdef __cplusplus
  377. }
  378. #endif
  379.  
  380. #endif /* __GXGRAPHICSPRIV__ */
  381.  
  382.